const keyArr = require('./校验规则/润京2代-2024年检.json');

// 假设keyArr是一个数组，我们需要将其分成三个部分
const chunkSize = Math.ceil(keyArr.length / 3);

// 使用Array.prototype.slice来分割数组
const chunks = keyArr.reduce((resultArray, item, index) => {
  const chunkIndex = Math.floor(index / chunkSize);

  if (!resultArray[chunkIndex]) {
    resultArray[chunkIndex] = []; // 初始化数组
  }

  resultArray[chunkIndex].push(item);

  return resultArray;
}, []);

// 生成SQL语句并写入文件
chunks.forEach((chunk, index) => {
  const sql = chunk.map(item => {
    let { key, value,zuName } = item;
    return `INSERT INTO \`leno_admin\`.\`jiaoyankey_table\` (\`table_id\`, \`file_type\`, \`work_type\`, \`key_group_name\`,\`key\`, \`create_by\`, \`update_by\`, \`created_at\`, \`filed1\`, \`updated_at\`, \`filed2\`) VALUES (NULL, '2代润京光CT', '2024年检', '[${zuName}]','${key}', NULL, NULL, CURRENT_TIMESTAMP, NULL, CURRENT_TIMESTAMP, NULL);`;
  }).join('\n');

  const fs = require('fs');

  const data = sql;
  const filePath = `sql_file_${index + 1}.txt`;

  try {
    fs.writeFileSync(filePath, data);
    console.log(`文件 ${filePath} 写入成功！`);
  } catch (err) {
    console.error(`写入文件 ${filePath} 时出错:`, err);
  }
});
